﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

using FrbaBus.Core;
namespace FrbaBus.GenerarViaje
{
    public partial class Seleccionar_Micro : Form
    {
        GenerarViaje originalForm;
        public Seleccionar_Micro(GenerarViaje incomingForm)
        {
            originalForm = incomingForm;
            InitializeComponent();
            
        }
        

        private void Seleccionar_Micro_Load(object sender, EventArgs e)
        {
            string tiposervicio = GenerarViaje.tiposervicio;
            dataGridView1.ReadOnly = true;
            dataGridView1.AllowUserToAddRows = false;
            dataGridView1.AllowUserToDeleteRows = false;
            dataGridView1.Rows.Clear();
            DateTime hola = Convert.ToDateTime(System.Configuration.ConfigurationManager.AppSettings["Fecha"]);
            string hoy = hola.ToString("yyyy-MM-dd");
            
            DBManager db = new DBManager();
            SqlCommand consulta = new SqlCommand("select Patente, Nro_Micro, Modelo, Marca, Tipo_Servicio from ALL_IN.MicrosMarca where Fecha_Alta < '" + hoy + "' and (('" + originalForm.fecha + "' <  Fecha_Fuera_de_Servicio) or ('" + originalForm.fecha + "' > Fecha_Reinicio_Servicio) or Fecha_Reinicio_Servicio IS NULL or Fecha_Fuera_de_Servicio IS NULL) and Baja_Fuera_de_Servicio= 0 and Baja_Vida_Util = 0 and Tipo_Servicio = '" + tiposervicio + "'");
            
            SQLResponse r = db.executeQuery(consulta);
            SqlCommand consulta2 = new SqlCommand("select count (*) from ALL_IN.MicrosMarca where Fecha_Alta < '" + hoy + "' and (('" + originalForm.fecha + "' <  Fecha_Fuera_de_Servicio) or ('" + originalForm.fecha + "' > Fecha_Reinicio_Servicio) or Fecha_Reinicio_Servicio IS NULL or Fecha_Fuera_de_Servicio IS NULL) and Baja_Fuera_de_Servicio= 0 and Baja_Vida_Util = 0 and Tipo_Servicio = '" + tiposervicio + "'");
            SQLResponse r2 = db.executeQuery(consulta2);
            int valor = (int)r2.result.Rows[0][0];
            
            for (int i = 0; i < valor; i++)
            {
                dataGridView1.Rows.Add(r.result.Rows[i][0].ToString(), r.result.Rows[i][1].ToString(), r.result.Rows[i][2].ToString(), r.result.Rows[i][3].ToString(), r.result.Rows[i][4].ToString());
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (dataGridView1.RowCount == 0)
            {
                MessageBox.Show("No hay Micros con esas caracteristicas disponibles.");
                this.Close();
            }
            else
            {
                originalForm.patente = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString();
                originalForm.Servicio = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[4].Value.ToString();
                originalForm.populate();
                this.Close();
            }
            
        }
    }
}
